package com.ticket.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ticket.common.annotation.Excel;
import com.ticket.common.core.domain.BaseEntity;
import org.hibernate.validator.constraints.Range;
import org.springframework.data.annotation.Transient;

/**
 * 观演卡批次信息对象 yanchu_movie_batch
 * 
 * @author ruoyi
 * @date 2023-12-07
 */
@ApiModel(description = "观演卡批次信息对象")
public class YanchuMovieBatch extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键  */
    @ApiModelProperty(name = "id",value = "主键")
    private Long id;

    /** 批次名称 */
    @ApiModelProperty(name = "batchName",value = "批次名称")
    @Excel(name = "批次名称")
    private String batchName;

    /** 单张金额 */
    @ApiModelProperty(name = "amount",value = "单张金额")
    @Excel(name = "单张金额")
    private String amount;

    /** 生成数量（张） */
    @ApiModelProperty(name = "creatNum",value = "生成数量（张）")
    @Excel(name = "生成数量", readConverterExp = "张=")
    @Range(min = 1,max = 1000,message = "range.bean.wage")
    private Integer creatNum;

    /** 已绑定数量 */
    @ApiModelProperty(name = "bindNum",value = "已绑定数量")
    @Excel(name = "已绑定数量")
    private Integer bindNum;

    /** 有效时间 */
    @ApiModelProperty(name = "validTime",value = "有效时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "有效时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date validTime;

    /** 创建时间 */
    @ApiModelProperty(name = "creatTime",value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date creatTime;

    /** 创建者id */
    @ApiModelProperty(name = "creatId",value = "创建者id")
    @Excel(name = "创建者id")
    private Long creatId;

    /** 创建者名称 */
    @ApiModelProperty(name = "creatName",value = "创建者名称")
    @Excel(name = "创建者名称")
    private String creatName;

    /** 当前状态（0：待激活；1：已激活） */
    @ApiModelProperty(name = "status",value = "当前状态（0：待激活；1：已激活）")
    @Excel(name = "当前状态", readConverterExp = "0=：待激活；1：已激活")
    private Integer status;

    @Transient
    @ApiModelProperty(name = "activeName",value = "激活人名称")
    private String activeName;

    @Transient
    @ApiModelProperty(name = "activeTime",value = "激活时间")
    private Date activeTime;

    @Transient
    @ApiModelProperty(name = "batchIds",value = "批量导出批次时选中的批次id")
    private String batchIds;

    @Transient
    @ApiModelProperty(name = "activeId",value = "激活人id")
    private Long activeId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBatchName(String batchName) 
    {
        this.batchName = batchName;
    }

    public String getBatchName() 
    {
        return batchName;
    }
    public void setAmount(String amount) 
    {
        this.amount = amount;
    }

    public String getAmount() 
    {
        return amount;
    }
    public void setCreatNum(Integer creatNum) 
    {
        this.creatNum = creatNum;
    }

    public Integer getCreatNum() 
    {
        return creatNum;
    }
    public void setBindNum(Integer bindNum) 
    {
        this.bindNum = bindNum;
    }

    public Integer getBindNum() 
    {
        return bindNum;
    }
    public void setValidTime(Date validTime) 
    {
        this.validTime = validTime;
    }

    public Date getValidTime() 
    {
        return validTime;
    }
    public void setCreatTime(Date creatTime) 
    {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() 
    {
        return creatTime;
    }
    public void setCreatId(Long creatId) 
    {
        this.creatId = creatId;
    }

    public Long getCreatId() 
    {
        return creatId;
    }
    public void setCreatName(String creatName) 
    {
        this.creatName = creatName;
    }

    public String getCreatName() 
    {
        return creatName;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public String getActiveName() {
        return activeName;
    }

    public void setActiveName(String activeName) {
        this.activeName = activeName;
    }

    public Date getActiveTime() {
        return activeTime;
    }

    public void setActiveTime(Date activeTime) {
        this.activeTime = activeTime;
    }

    public String getBatchIds() {
        return batchIds;
    }

    public void setBatchIds(String batchIds) {
        this.batchIds = batchIds;
    }

    public Long getActiveId() {
        return activeId;
    }

    public void setActiveId(Long activeId) {
        this.activeId = activeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("batchName", getBatchName())
            .append("amount", getAmount())
            .append("creatNum", getCreatNum())
            .append("bindNum", getBindNum())
            .append("validTime", getValidTime())
            .append("creatTime", getCreatTime())
            .append("creatId", getCreatId())
            .append("creatName", getCreatName())
            .append("status", getStatus())
            .toString();
    }
}
